package Day35.listTest.Test02;

/**
 * @author hyhWTX
 * @version 1.0
 * @ClassName Shop
 * @date 2022年08月05日 18:43
 * @Description: 具体操作功能
 */
/*
	管理员能够进行的操作有3项（查看、修改、退出），
	我们可以采用（switch）菜单的方式来完成。
	-------------库存管理------------
		1.查看库存清单
		2.修改商品库存数量
		3.退出

	请输入要执行的操作序号：
		每一项功能操作，我们采用方法进行封装，这样，可使程序的可读性增强。
		选择1.查看库存清单”功能，则控制台打印库存清单
		选择2.修改商品库存数量”功能，则对每种商品库存数进行更新
		选择3.退出”功能，则退出库存管理，程序结束

		使用集合来存取商品信息
*/
import java.util.ArrayList;
import java.util.Scanner;

public class Shop{
    public static void main(String[] args){
        //定义集合，存储的是ShopLei类型变量
        ArrayList<ShopLei> array = new ArrayList<ShopLei>();
        add(array);

        while(true){
            int choose = chooseFunction();
            switch(choose){
                //查看库存清单
                case 1:
                    printArrayList(array);
                    break;

                case 2:
                    changeCount(array);
                    break;

                case 3:
                    return;

                default:
                    System.out.println("暂时不提供此功能");
                    break;
            }
        }
    }

    /*
        修改商品库存数量
    */
    public static void changeCount(ArrayList<ShopLei> array){
        for(int i = 0;i < array.size(); i++){
            ShopLei b = array.get(i);
            Scanner s = new Scanner(System.in);
            System.out.print("要修改商品"+b.brand+"的库存是：");
            b.count = s.nextInt();
        }
    }

    /*
        查看库存清单”功能，则控制台打印库存清单
    */
    public static void printArrayList( ArrayList<ShopLei> array){
        int totalCount = 0;
        double totalMoney = 0;

        for(int i = 0;i < array.size() ; i++){
            //存储集合的时候，集合add(b1) b1 是Name类型变量
            //获取的时候，集合get方法，获取出来的是什么
            ShopLei b = array.get(i);
            System.out.println(b.id+"   "+b.brand+"   "+b.size+"   "+b.price+"   "+b.count);
            totalCount += b.count;
            totalMoney += b.price*b.count;
        }
        System.out.println("库存总数："+totalCount);
        System.out.println("库存商品总金额："+totalMoney);
    }

    /*
        定义方法，实现向集合中添加品牌，
    */
    public static void add(ArrayList<ShopLei> array){
        ShopLei b1 = new ShopLei();
        ShopLei b2 = new ShopLei();
        ShopLei b3 = new ShopLei();

        b1.id=1;
        b1.brand = "MacBookAir";
        b1.size  = 13.3 ;
        b1.price = 6988.88;
        b1.count = 5;

        b2.id = 2;
        b2.brand = "Thinkpad T450";
        b2.size  = 14.0 ;
        b2.price = 5999.99;
        b2.count = 10;


        b3.id=3;
        b3.brand = "Asus-FL5800";
        b3.size  = 15.6 ;
        b3.price = 4999.5;
        b3.count = 18;

        //将laptop变量存到集合中
        array.add(b1);
        array.add(b2);
        array.add(b3);

    }

    /*
        库存管理界面
        @return返回用户选择的功能
    */
    public static int chooseFunction(){
        System.out.println("-------------库存管理------------");
        System.out.println("1.查看库存清单");
        System.out.println("2.修改商品库存数量");
        System.out.println("3.退出");
        System.out.println("请选择您要使用的功能：");
        Scanner ran = new Scanner(System.in);
        int number = ran.nextInt();
        return number;
    }
}
